/*
 * Project Name:ssh-webapp
 * File Name:UserController.java
 * Package Name:com.jun.issh.controller
 *
 * @(#)2013年8月16日上午10:14:13 V1.0
 *
 * Copyright (c) 2013 WESOFT, Inc. All Rights Reserved.
 * 
 */
package com.jun.issh.controller;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.jun.issh.entity.User;
import com.jun.issh.service.UserService;

/**
 * @ClassName: UserController
 * @Description: 用户控制层
 * 
 * @author Venlentine
 * @Date: 2013年8月16日 上午10:14:13
 * @version 
 * 
 * <pre>
 * 修改记录:
 * 修改后版本			修改人			修改日期		修改内容
 * 2013年8月16日.1		Venlentine		2013年8月16日		Create
 * </pre>
 *
 */
@Controller
@RequestMapping(value = "/user")
public class UserController {

	private static final Log LOG = LogFactory.getLog(UserController.class);

	@Autowired
	private UserService userService;//注入业务接口

	/**
	 * 用户列表
	 */
	@RequestMapping(value = "/list")
	public String list(ModelMap modelMap) {
		LOG.info("访问用户列表");
		List<User> userList = userService.getAll();
		modelMap.addAttribute("list", userList);
		return "user/list"; //根据SpringMVC配置文件配好的前缀和后缀，自动转为：/WEB-INF/jsp/user/userList.jsp
	}

	@RequestMapping(value = "/add")
	public String add() {
		LOG.info("添加用户");
		return "user/edit";
	}

	/**
	 * 保存用户
	 */
	@RequestMapping(value = "/save")
	public String save(User userInfo, RedirectAttributes redirectAttributes) {
		LOG.info("保存用户");
		userService.create(userInfo);
		//重定向后的提示信息，使用RedirectAttributes传递，在JSP页面可以用${message}获取
		//提示信息只出现一次，刷新也不会重复提示，
		redirectAttributes.addFlashAttribute("message", "操作成功");

		//重定向，防止表单重复提交
		return "redirect:list.do";//相对于当前路径  
		//return "redirect:/user/userList.do";//相对于当前项目根路径
	}

	/**
	 * 根据主键查找用户
	 */
	@RequestMapping(value = "/get")
	public String getUserById(@RequestParam long id) {
		LOG.info("id is :" + id);
		User userInfo = userService.get(id);
		LOG.info("user's name is :" + userInfo.getName());
		return "user/show";
	}
}
